1. Field of the Invention
The present invention pertains generally to the field of electronic digital computers and more particularly relates to a general purpose programmable controller interfaceable to the keyboard input of a host digital computer by means of a keyboard interface normally transparent to keyboard operation of the host. The controller can take command of the host by emulating keyboard input. The controller is further interfaceable to sensors and actuators either via direct wiring or using encoded signals sent over the power lines. The controller can relieve the host of input/output and control tasks with the host system either operational or powered-down. The controller can power-up a self-booting host microcomputer and load an application program if the greater capability of the host is required. The host may in turn program the controller via a serial communications link.
2. State of the Prior Art
Microcomputer installations are now widespread in homes, offices and industry and increasingly are employed for controlling other devices in an intelligent, flexible manner under control of an application program. Common examples are security systems and environmental heating/air conditioning/ventilation systems. A disadvantage of using a general purpose microcomputer in such applications is that most of the computer's capability is wasted in applications where infrequent action by the computer system is required in response to real world events. Nevertheless, the computer must remain operational and idle while awaiting such infrequent occurrences. Other applications require frequent but low level tasks of a nature which do not require the full capabilities of a general purpose microcomputer and could instead be performed by a much smaller and economical controller system. In these and many other situations it would be desirable to provide a device peripheral to the microcomputer which could relieve the microcomputer of low-level tasks, such as monitoring sensors, switches and transducers while retaining the capability of bringing on line the full power of the host microcomputer in the event that higher level capability is required, e.g, in response to some event detected by the controller peripheral. Therefore, the peripheral device should be capable of bringing up a desired application program on the host microcomputer from a fully powered down state of the host system, thereby eliminating the need for running the host system continuously. Equally important, the peripheral system should be easily interfaceable to any one of various popular general purpose microcomputers by modestly skilled users.